---
sidebar_position: 2
toc_min_heading_level: 2
toc_max_heading_level: 2
---

# setSelfInfo

## 功能介绍

:::info 说明

登录用户修改自己的头像、昵称等 IM 中的资料

:::

:::caution 注意

当修改成功后，本终端以及其他终端会收到 onSelfInfoUpdated 回调，UI 此时需刷新以展示最新资料

:::

<Tabs
groupId="sdks-language"
values={[
{ label: 'iOS', value: 'iOS', },
{ label: 'Android', value: 'Android', },
{ label: 'Flutter', value: 'Flutter', },
{ label: 'Uniapp', value: 'Uniapp', },
{ label: 'Web', value: 'Web', },
]
}>

<TabItem value="Flutter">

### 函数原型

```dart showLineNumbers
  Future<String?> setSelfInfo({
    String? nickname,
    String? faceURL,
    int? gender,
    int? appMangerLevel,
    String? phoneNumber,
    int? birth,
    String? email,
    String? ex,
    String? operationID,
  })
```

### 输入参数

| 参数名称       | 参数类型 | 是否必填 | 描述           |
| -------------- | -------- | -------- | -------------- |
| nickname       | String?  | 否       | 用户昵称       |
| faceURL        | String?  | 否       | 用户头像       |
| gender         | int?     | 否       | 性别 1、男     |
| appMangerLevel | int?     | 否       | ~              |
| phoneNumber    | String?  | 否       | 手机号         |
| birth          | int?     | 否       | 出生日期（ms） |
| email          | String?  | 否       | 邮箱           |
| ex             | String?  | 否       | 扩展信息       |

### 返回结果

| 参数名称 | 参数类型 | 描述                 |
| -------- | -------- | -------------------- |
| ~        | ~        | 无异常抛出则修改成功 |

### 代码示例

```dart showLineNumbers
   await OpenIM.iMManager.userManager.setSelfInfo(
      nickname: 'lucy',
    );
    // todo
```

</TabItem>

<TabItem value="iOS">

### 函数原型

```swift showLineNumbers

- (void)setSelfInfo:(OIMUserInfo *)userInfo
          onSuccess:(OIMSuccessCallback)onSuccess
          onFailure:(OIMFailureCallback)onFailure;

```

### 输入参数

| 参数名称 | 参数类型                                         | 是否必填 | 描述         |
| -------- | ------------------------------------------------ | -------- | ------------ |
| userInfo | [OIMUserInfo](docs/sdks/Class/User/UserInfo.mdx) | 是       | 用户相关信息 |

### 返回结果

| 参数名称  | 参数类型                                               | 描述     |
| --------- | ------------------------------------------------------ | -------- |
| onSuccess | [OIMSuccessCallback](docs/sdks/Callback/onSuccess.mdx) | 成功返回 |
| onFailure | [OIMFailureCallback](docs/sdks/Callback/onError.mdx)   | 失败返回 |

### 代码示例

```swift showLineNumbers

OIMUserInfo *info = [OIMUserInfo new];
info.nickname = @"";
info.email = @"";
info.faceURL = @"";

[OIMManager.manager setSelfInfo:info
                      onSuccess:^(NSString * _Nullable data) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];

```

</TabItem>

<TabItem value="Android">

### 参数详解

</TabItem>

<TabItem value="Web">

### 参数详解

</TabItem>

<TabItem value="Uniapp">

### 参数详解

| 参数名称    | 参数类型 | 是否必填 | 描述                                 |
| ----------- | -------- | -------- | ------------------------------------ | --- |
| operationID | string   | 是       | 唯一随机字符串，用于根据日志定位问题 |
| userID      | string   | 是       | IM 用户 userID                       |
| token       | string   | 是       | IM 用户 token                        |     |

### 返回模板

```
Promise<void>
```

### 代码示例

```js showLineNumbers
import IMSDK from '@openim-sdk/uniapp-polyfill';

await IMSDK.API.login(IMSDK.uuidv4(), userID, token);
```

</TabItem>

</Tabs>
